﻿#pragma once

#ifndef BRIDGEANALYSIS_BRIDGE_DLL_H
#define BRIDGEANALYSIS_BRIDGE_DLL_H

BRIDGE6DLL_API bool testDLL();

// 3.2.1、获取错误码，接口函数返回-1或false时，可以调用getLastErrorCode、getLastErrorMessage获取最后一次调用接口函数的错误代码和错误信息。
BRIDGE6DLL_API int32_t getLastErrorCode();

// 3.2.2、获取错误信息
BRIDGE6DLL_API char *getLastErrorMessage();

// 3.2.3、初始化文件系统
BRIDGE6DLL_API bool initBridgeAnalysis(const char *szConfigFile);

// 3.2.4、开始采样
//    - nHandle：打开的谱图句柄。
BRIDGE6DLL_API bool startSample(int64_t nHandle);

// 3.2.5、停止采样
//    - nHandle：打开的谱图句柄。
BRIDGE6DLL_API bool stopSample(int64_t nHandle);

// 3.3.1、获取文件列表
BRIDGE6DLL_API bool getFileList(const char *szFullPath, bool includeSubDir, TFileItem *pBuffer, int32_t nBufferCount, int32_t *pDataCount, const char *pchWildcard);

// 3.3.2、删除指定文件
BRIDGE6DLL_API bool deleteFile(const char *szFullName);

// 3.3.3、判定信号通道是否有效
BRIDGE6DLL_API bool isValidChannel(uint32_t Detector, int32_t chn);

// 3.3.4、判定检测器ID是否有效
BRIDGE6DLL_API bool isValidDetectorID(uint32_t Detector, int32_t detID);

// 3.3.5、获取信号通道对应的检测器ID
BRIDGE6DLL_API int32_t getDetectorID(uint32_t Detector, int32_t chn);

// 3.3.6、获取检测器ID对应的信号通道号
BRIDGE6DLL_API int32_t getChannelID(uint32_t Detector, int32_t detID);

#endif
